#pragma once
#include "MCommon.h"
#include <QStandardItemModel>

class MDirTreeModel : public QStandardItemModel
{
	Q_OBJECT

public:
	MDirTreeModel(QObject *parent = nullptr);
	~MDirTreeModel();

protected:
	virtual Qt::ItemFlags flags(const QModelIndex &index) const;
	virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
	virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const;

signals:
	void itemDragMoved(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
};
